(Sys.init)
@0
D=A
@LCL
A=M
@4000	//
D=A
@SP
A=M
M=D
@SP
M=M+1
@SP
M=M-1
@0
D=A
@3
D=D+A
@R13
M=D
@SP
A=M
D=M
@R13
A=M
M=D
@5000
D=A
@SP
A=M
M=D
@SP
M=M+1
@SP
M=M-1
@1
D=A
@3
D=D+A
@R13
M=D
@SP
A=M
D=M
@R13
A=M
M=D
@0
D=A
@R13
M=D
@Sys.main
D=A
@R14
M=D
@0
D=A
@SP
A=M
M=D
@SP
M=M+1
@RET_ADDRESS_CALL0
D=A
@SP
A=M
M=D
@SP
M=M+1
@LCL
D=M
@SP
A=M
M=D
@SP
M=M+1
@ARG
D=M
@SP
A=M
M=D
@SP
M=M+1
@THIS
D=M
@SP
A=M
M=D
@SP
M=M+1
@THAT
D=M
@SP
A=M
M=D
@SP
M=M+1
@SP
D=M
@LCL
M=D
@5
D=A
@1
D=D+A
@SP
D=M-D
@ARG
M=D
@R14
A=M
0;JMP
(RET_ADDRESS_CALL0)
@SP
M=M-1
@1
D=A
@5
D=D+A
@R13
M=D
@SP
A=M
D=M
@R13
A=M
M=D
(LOOP)
@LOOP
0;JMP
(Sys.main)
@0
D=A
@LCL
A=M
M=D
A=A+1
M=D
A=A+1
M=D
A=A+1
M=D
A=A+1
M=D
A=A+1
@SP
M=M+1
@SP
M=M+1
@SP
M=M+1
@SP
M=M+1
@SP
M=M+1
@4001
D=A
@SP
A=M
M=D
@SP
M=M+1
@SP
M=M-1
@0
D=A
@3
D=D+A
@R13
M=D
@SP
A=M
D=M
@R13
A=M
M=D
@5001
D=A
@SP
A=M
M=D
@SP
M=M+1
@SP
M=M-1
@1
D=A
@3
D=D+A
@R13
M=D
@SP
A=M
D=M
@R13
A=M
M=D
@200
D=A
@SP
A=M
M=D
@SP
M=M+1
@SP
M=M-1
@1
D=A
@LCL
A=D+M
D=A
@R13
M=D
@SP
A=M
D=M
@R13
A=M
M=D
@40
D=A
@SP
A=M
M=D
@SP
M=M+1
@SP
M=M-1
@2
D=A
@LCL
A=D+M
D=A
@R13
M=D
@SP
A=M
D=M
@R13
A=M
M=D
@6
D=A
@SP
A=M
M=D
@SP
M=M+1
@SP
M=M-1
@3
D=A
@LCL
A=D+M
D=A
@R13
M=D
@SP
A=M
D=M
@R13
A=M
M=D
@123
D=A
@SP
A=M
M=D
@SP
M=M+1
@1
D=A
@R13
M=D
@Sys.add12
D=A
@R14
M=D
@RET_ADDRESS_CALL1
D=A
@SP
A=M
M=D
@SP
M=M+1
@LCL
D=M
@SP
A=M
M=D
@SP
M=M+1
@ARG
D=M
@SP
A=M
M=D
@SP
M=M+1
@THIS
D=M
@SP
A=M
M=D
@SP
M=M+1
@THAT
D=M
@SP
A=M
M=D
@SP
M=M+1
@SP
D=M
@LCL
M=D
@5
D=A
@1
D=D+A
@SP
D=M-D
@ARG
M=D
@R14
A=M
0;JMP
(RET_ADDRESS_CALL1)
@SP
M=M-1
@0
D=A
@5
D=D+A
@R13
M=D
@SP
A=M
D=M
@R13
A=M
M=D
@0
D=A
@LCL
A=D+M
D=M
@SP
A=M
M=D
@SP
M=M+1
@1
D=A
@LCL
A=D+M
D=M
@SP
A=M
M=D
@SP
M=M+1
@2
D=A
@LCL
A=D+M
D=M
@SP
A=M
M=D
@SP
M=M+1
@3
D=A
@LCL
A=D+M
D=M
@SP
A=M
M=D
@SP
M=M+1
@4
D=A
@LCL
A=D+M
D=M
@SP
A=M
M=D
@SP
M=M+1
@SP
M=M-1
@SP
A=M
D=M
@SP
M=M-1
@SP
A=M
M=M+D
@SP
M=M+1
@SP
M=M-1
@SP
A=M
D=M
@SP
M=M-1
@SP
A=M
M=M+D
@SP
M=M+1
@SP
M=M-1
@SP
A=M
D=M
@SP
M=M-1
@SP
A=M
M=M+D
@SP
M=M+1
@SP
M=M-1
@SP
A=M
D=M
@SP
M=M-1
@SP
A=M
M=M+D
@SP
M=M+1
@SP
M=M-1
@SP
A=M
D=M
@ARG
A=M
M=D
@ARG
D=M
@SP
M=D+1
@LCL
D=M
@R13
M=D
@LCL
A=M
A=A-1
D=M
@THAT
M=D
@LCL
A=M
A=A-1
A=A-1
D=M
@THIS
M=D
@LCL
A=M
A=A-1
A=A-1
A=A-1
D=M
@ARG
M=D
@LCL
A=M
A=A-1
A=A-1
A=A-1
A=A-1
D=M
@LCL
M=D
@R13
D=M
@5
AD=D-A
A=M
0;JMP
(Sys.add12)
@0
D=A
@LCL
A=M
@4002
D=A
@SP
A=M
M=D
@SP
M=M+1
@SP
M=M-1
@0
D=A
@3
D=D+A
@R13
M=D
@SP
A=M
D=M
@R13
A=M
M=D
@5002
D=A
@SP
A=M
M=D
@SP
M=M+1
@SP
M=M-1
@1
D=A
@3
D=D+A
@R13
M=D
@SP
A=M
D=M
@R13
A=M
M=D
@0
D=A
@ARG
A=D+M
D=M
@SP
A=M
M=D
@SP
M=M+1
@12
D=A
@SP
A=M
M=D
@SP
M=M+1
@SP
M=M-1
@SP
A=M
D=M
@SP
M=M-1
@SP
A=M
M=M+D
@SP
M=M+1
@SP
M=M-1
@SP
A=M
D=M
@ARG
A=M
M=D
@ARG
D=M
@SP
M=D+1
@LCL
D=M
@R13
M=D
@LCL
A=M
A=A-1
D=M
@THAT
M=D
@LCL
A=M
A=A-1
A=A-1
D=M
@THIS
M=D
@LCL
A=M
A=A-1
A=A-1
A=A-1
D=M
@ARG
M=D
@LCL
A=M
A=A-1
A=A-1
A=A-1
A=A-1
D=M
@LCL
M=D
@R13
D=M
@5
AD=D-A
A=M
0;JMP
